package cn.bone.mima.bytebit;

import java.io.UnsupportedEncodingException;

public class ByteBit {

    public static void main(String[] args) throws UnsupportedEncodingException {

        String a = "a";
        byte[] bytes = a.getBytes();
        for(byte aByte : bytes){
            int c = aByte;
            // 97
            System.out.println(c);

            // byte字节对应的bit是多少
            String s = Integer.toBinaryString(c);
            // 1100001
            System.out.println(s);
        }

/*
-28
11111111111111111111111111100100
-72
11111111111111111111111110111000
-83
11111111111111111111111110101101
-26
11111111111111111111111111100110
-106
11111111111111111111111110010110
-121
11111111111111111111111110000111
-27
11111111111111111111111111100101
-83
11111111111111111111111110101101
-105
11111111111111111111111110010111
-25
11111111111111111111111111100111
-84
11111111111111111111111110101100
-90
11111111111111111111111110100110
*/
        // 根据编码的格式不一样，对应的字节也不一样
        // 如果是UTF-8: 一个中文对应的是三个字节
        // 如果是GBK，一个中文对应的是2个字节
        // 如果是英文，就所谓编码格式，一个字母就是一个字节

        String a1 = "中文字符";
        byte[] bytes1 = a1.getBytes("UTF-8");
        for(byte b1 : bytes1){
            int c = b1;
            System.out.println(c);

            // byte字节对应的bit是多少
            String s = Integer.toBinaryString(c);
            // 1100001
            System.out.println(s);
        }
    }
}
